package arlab.formulae

/**
 * Created by IntelliJ IDEA.
 * User: Eve
 * Date: 23.02.12
 * Time: 14:34
 * To change this template use File | Settings | File Templates.
 */

// Negation einer Formel
case class Not(a:Formula) extends Formula {
  override  def toString()={
    "\u00AC" + a.toString()
  }
  override def bound()={
    a.bound
  }
  //Hilfsfunktion für die Bestimmung der freien Variablen
  override def freeHelp(bound:Set[Variable]):Set[Variable]={
    a.freeHelp(bound)
  }


  //gibt eine Liste zurück die Alle Funktionen mitsammt ihren Stelligkeiten zurückgibt.
  override def functions: Set[(String,Int)] = a.functions
  
      
  //substituiert alle Variablen aus der uebergebenen map    
  override def subst(sfn: Map[Variable, Term]): Formula = Not(a.subst(sfn))
  
  override def renameAllVariables(i:Int):Formula = Not(a.renameAllVariables(i))
  
}

